import request from '@/config/axios'

// 质量监测数据 VO
export interface QualityMonitoringDataVO {
  id: number // 唯一主键ID
  salesOrderNumber: string // 销售订单号，用于快速关联和查询
  workOrderNumber: string // 工单号，核心业务标识
  itemNumber: string // 品号（物料编码）
  defectType: string // 不良类别（如：刮伤、尺寸超差、功能失效等）
  unit: string // 单位（如：PCS, M, KG）
  inputQuantity: number // 投入数量
  outputQuantity: number // 产出数量（良品数量）
  defectiveQuantity: number // 不良数量
  abnormalSituation: string // 异常情况描述，用于记录详细文本信息
}

// 质量监测数据 API
export const QualityMonitoringDataApi = {
  // 查询质量监测数据分页
  getQualityMonitoringDataPage: async (params: any) => {
    return await request.get({ url: `/server/quality-monitoring-data/page`, params })
  },

  // 查询质量监测数据详情
  getQualityMonitoringData: async (id: number) => {
    return await request.get({ url: `/server/quality-monitoring-data/get?id=` + id })
  },

  // 新增质量监测数据
  createQualityMonitoringData: async (data: QualityMonitoringDataVO) => {
    return await request.post({ url: `/server/quality-monitoring-data/create`, data })
  },

  // 修改质量监测数据
  updateQualityMonitoringData: async (data: QualityMonitoringDataVO) => {
    return await request.put({ url: `/server/quality-monitoring-data/update`, data })
  },

  // 删除质量监测数据
  deleteQualityMonitoringData: async (id: number) => {
    return await request.delete({ url: `/server/quality-monitoring-data/delete?id=` + id })
  },

  // 导出质量监测数据 Excel
  exportQualityMonitoringData: async (params) => {
    return await request.download({ url: `/server/quality-monitoring-data/export-excel`, params })
  },

  getBySaleOrderCode: async (salesOrderCode: string) => {
    return await request.get({ url: `/server/quality-monitoring-data/getBySaleOrderCode?saleOrderCode=` + salesOrderCode })
  }
}
